
/* ________Tipos de dados básicos em C________*/
/* - Modificadores de tipos                   */
/* ___________________________________________*/

#include <stdio.h>

int main(){
    int varInt;
    unsigned int varUInt;
    long int varLInt;
    long unsigned int varLUInt;
    short int varSInt;
    short unsigned int varSUInt;

    float varFloat;
    double varDouble;
    long double varLDouble;

    printf("Os modifiadores de tipo\n");
    printf("* podem ser usados para alterar o significado de um tipo básico,\n");
    printf("* o uso de modificadores aumenta a eficiência no uso da memória \n");
    printf("  e melhora o desempenho da aplicação,\n");
    printf("Os tamanhos dos tipos com e sem modificadores \n");
    printf("\t- O Tipo int ocupa %d bytes ou %d bits\n", sizeof(varInt), 8*sizeof(varInt));
    printf("\t- O Tipo unsigned int ocupa %d bytes ou %d bits\n", sizeof(varUInt), 8*sizeof(varUInt));
    printf("\t- O Tipo long int ocupa %d bytes ou %d bits\n", sizeof(varLInt), 8*sizeof(varLInt));
    printf("\t- O Tipo unsigned long int ocupa %d bytes ou %d bits\n", sizeof(varLUInt), 8*sizeof(varLUInt));
    printf("\t- O Tipo short int ocupa %d bytes ou %d bits\n", sizeof(varSInt), 8*sizeof(varSInt));
    printf("\t- O Tipo unsigned short int ocupa %d bytes ou %d bits\n", sizeof(varSUInt), 8*sizeof(varSUInt));
    printf("\t- O Tipo float ocupa %d bytes ou %d bits\n", sizeof(varFloat), 8*sizeof(varFloat));
    printf("\t- O Tipo double ocupa %d bytes ou %d bits\n", sizeof(varDouble), 8*sizeof(varDouble));
    printf("\t- O Tipo long double ocupa %d bytes ou %d bits\n", sizeof(varLDouble), 8*sizeof(varLDouble));

    return 0;
}
